/****************************************************************************
 *
 *   Copyright (c) 2020-2022 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.53418, 0.40065 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.72287, 0.39371 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.73056, 0.38793 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.60599, 0.38312 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.39239, 0.37911 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 31.13043, 0.37577 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.85898, 0.37298 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.61264, 0.37065 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.41638, 0.36868 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.27901, 0.36701 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.18781, 0.3656 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.10596, 0.36442 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.97354, 0.36348 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.71183, 0.36284 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.23043, 0.36259 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.43624, 0.36285 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.24378, 0.36377 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.58575, 0.3655 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.42282, 0.36821 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.75204, 0.37201 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.61296, 0.37699 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.09037, 0.38321 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.31178, 0.39067 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.43744, 0.39935 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.64244, 0.40926 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.90671, 0.42038 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.07588, 0.43273 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.78165, 0.44624 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.00049, 0.46073 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.76812, 0.47582 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.17114, 0.49094 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.33471, 0.50526 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.40954, 0.51774 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.5592, 0.52727 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -16.94542, 0.53277 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.70801, 0.53347 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -20.9405, 0.52911 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.66882, 0.52001 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.84395, 0.50711 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.35407, 0.49171 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -34.05162, 0.47525 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.78358, 0.45906 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.41406, 0.4442 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.83437, 0.43138 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.9627, 0.42103 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.73809, 0.41335 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -53.11321, 0.40838 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -55.04822, 0.40612 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.5061, 0.40654 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.44851, 0.40968 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.83095, 0.41564 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.59624, 0.42461 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.66687, 0.43691 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.93848, 0.45287 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.27899, 0.47273 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.54046, 0.49634 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.59266, 0.5227 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.38485, 0.54942 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.02691, 0.57268 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -21.84707, 0.58801 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.36063, 0.59225 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.13165, 0.5851 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.39051, 0.56904 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.9532, 0.54771 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.48194, 0.52444 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 19.01603, 0.50155 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.64924, 0.48034 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.4931, 0.46142 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.65934, 0.44496 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.25348, 0.43088 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.37309, 0.41897 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 31.10698, 0.40898 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.53418, 0.40065 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.56879, 0.37424 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.87033, 0.37034 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.99853, 0.3671 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.99303, 0.36441 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.88771, 0.3622 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.7153, 0.36041 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.5109, 0.359 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.3113, 0.35793 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.15015, 0.35718 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.05046, 0.35671 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 26.01719, 0.35652 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.03173, 0.3566 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.04884, 0.35696 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 25.99603, 0.35761 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.77611, 0.35861 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.27427, 0.36005 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.37046, 0.36207 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 22.95585, 0.36486 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 20.95074, 0.36863 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.32089, 0.37354 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.0905, 0.37971 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.35003, 0.3872 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.25562, 0.39596 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.01587, 0.40595 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -1.13573, 0.41717 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.97811, 0.42967 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.33878, 0.4436 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.1179, 0.45907 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.29444, 0.47611 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -14.91597, 0.49458 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.07854, 0.51404 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -16.90639, 0.53374 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.54027, 0.55251 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.13759, 0.56871 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -18.87654, 0.58039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -19.94739, 0.58565 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.51864, 0.58326 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.68639, 0.57309 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.43575, 0.55624 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.64131, 0.5348 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -33.1074, 0.51123 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.62334, 0.48785 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -40.00564, 0.46642 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -43.11489, 0.44805 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.85231, 0.43326 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -48.14729, 0.42217 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.94505, 0.41465 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -51.1984, 0.41046 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.86336, 0.40933 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.89676, 0.41098 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.25348, 0.41518 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.88295, 0.42167 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.72755, 0.43018 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.72887, 0.44027 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.84897, 0.45121 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.1075, 0.46186 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.62172, 0.47074 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.62064, 0.47644 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.40792, 0.47814 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.28384, 0.47587 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.47423, 0.4704 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.10688, 0.46271 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.76695, 0.45371 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.13611, 0.44403 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 12.00299, 0.43413 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.37263, 0.42434 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.25218, 0.41493 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.65372, 0.40609 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.59753, 0.39799 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 24.11441, 0.39073 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.24658, 0.38437 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 26.04585, 0.37889 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.56879, 0.37424 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.7359, 0.35483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 23.07705, 0.35276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.26278, 0.3511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.32652, 0.34977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.29223, 0.34875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.18066, 0.34799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 23.01611, 0.34749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.82907, 0.34725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.65321, 0.34728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.51866, 0.3476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.44467, 0.34822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43288, 0.34916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.46091, 0.35044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.47549, 0.35204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.38708, 0.354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.07079, 0.35634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.37788, 0.35921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.15809, 0.36278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.28756, 0.36731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.69603, 0.37299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.38893, 0.37996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.46157, 0.38822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.10086, 0.39768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.43311, 0.4082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.84836, 0.41977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.87642, 0.43252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.32218, 0.44674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.09074, 0.46274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.18534, 0.48076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.68165, 0.5009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.69006, 0.52304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.32168, 0.5468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.67462, 0.5713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -20.84958, 0.5949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -20.98609, 0.615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.28933, 0.62835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.00889, 0.63194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.35828, 0.62423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.41811, 0.60585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -28.09362, 0.57945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -31.1564, 0.5488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.33353, 0.51762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.38337, 0.48879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -40.12703, 0.46404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.44312, 0.44407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -44.24805, 0.42894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.47882, 0.41828 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -46.08407, 0.41157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -46.02194, 0.40818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.26077, 0.40753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.77884, 0.40897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.56309, 0.41187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.61172, 0.41557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -34.94846, 0.41929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.65055, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -25.87629, 0.42339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -20.86341, 0.42247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -15.87981, 0.41945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.14688, 0.41489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.78463, 0.40959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.80959, 0.40417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.82497, 0.39899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.17889, 0.39412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.2911, 0.38946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.16944, 0.38492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.79808, 0.38042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.15059, 0.37598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.20059, 0.37166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.92859, 0.36754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.32742, 0.36373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.40687, 0.36031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.19535, 0.35733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.7359, 0.35483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.66421, 0.34008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 20.00126, 0.33915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.2041, 0.33851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.30497, 0.3381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.32083, 0.33789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.2603, 0.33786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.13364, 0.338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.95911, 0.33834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.7627, 0.3389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.57364, 0.33972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.41876, 0.34085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.31675, 0.34231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.26986, 0.34412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.25086, 0.34628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.18808, 0.34877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 18.95715, 0.35161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.38923, 0.35491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.29824, 0.35886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.52001, 0.36371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 12.95172, 0.3697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.58398, 0.37691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.52133, 0.3853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 0.98434, 0.39467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.71722, 0.40484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -8.24285, 0.4158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.29486, 0.42777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.67744, 0.44118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.32021, 0.45645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.2641, 0.47392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.6195, 0.49379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.51177, 0.51616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.03362, 0.54104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.22673, 0.56809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.10734, 0.59622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -22.73055, 0.62305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.26056, 0.6447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -21.99, 0.65658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.26029, 0.6551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.30826, 0.6394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.14696, 0.61185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.57144, 0.577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -30.26798, 0.53993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.93176, 0.50481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -35.32723, 0.47425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -37.29126, 0.44937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.71229, 0.43022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.51175, 0.41627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.63626, 0.4067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.0578, 0.40063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.77476, 0.39716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.80855, 0.39545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.19698, 0.3947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -29.99318, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.27993, 0.39328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.1957, 0.39138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -17.94741, 0.38819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.78125, 0.3838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -9.91353, 0.3787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.46308, 0.37355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.4296, 0.36889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.72471, 0.36499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.77014, 0.36185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.15082, 0.3593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.46249, 0.35709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.70043, 0.355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.82911, 0.35293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.80309, 0.35082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.5791, 0.34869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.12007, 0.3466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.39862, 0.34463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.40378, 0.34284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 19.14749, 0.34131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.66421, 0.34008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.16006, 0.32875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.46278, 0.32854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.65085, 0.32855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.76045, 0.32876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.80614, 0.32913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.78718, 0.32963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.70007, 0.33027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.54837, 0.33105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34565, 0.33199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.11378, 0.33315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.88043, 0.33458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.67582, 0.3363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.52382, 0.33834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.42336, 0.34069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.32361, 0.34331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.106, 0.34624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.58849, 0.34956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.55774, 0.35347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.81925, 0.35824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.24867, 0.36406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 6.83265, 0.37097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.69299, 0.37885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.91483, 0.38741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.64092, 0.39647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -11.1166, 0.40607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -15.03957, 0.41656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.23229, 0.42845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.6558, 0.44221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.38372, 0.45811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.54992, 0.47627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.28443, 0.49674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.6583, 0.51961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.66329, 0.54485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.2433, 0.57199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.37309, 0.59939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.15394, 0.62374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -20.86991, 0.64035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -19.93899, 0.64468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.74913, 0.63446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.47837, 0.61082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -22.03184, 0.57775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -24.12186, 0.54046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.40252, 0.50375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.56552, 0.47092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.37335, 0.44361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.65615, 0.42213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.30184, 0.40599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.25154, 0.39429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.49777, 0.38604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.07765, 0.38027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.05676, 0.37613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.50975, 0.37292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.51372, 0.37004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.16559, 0.36701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.61296, 0.36348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.06384, 0.35933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.74705, 0.35476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.83644, 0.35019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.38932, 0.34608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33893, 0.34274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.46057, 0.34026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.16656, 0.33853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.8902, 0.33732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.66999, 0.33639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48104, 0.33554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.26625, 0.33466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.96573, 0.33371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.52908, 0.33272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.91347, 0.33171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 15.08149, 0.33075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 16.00788, 0.32989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.6914, 0.32921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.16006, 0.32875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 15.11838, 0.32016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.36482, 0.32038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.51109, 0.32082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.60159, 0.32144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.65329, 0.32221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.66033, 0.32311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.60809, 0.32411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.48609, 0.32523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.29391, 0.32647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.04266, 0.32786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.75609, 0.32946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.4705, 0.33128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.2259, 0.33334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.04236, 0.33562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.8862, 0.33809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.64375, 0.3408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.12365, 0.34384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.09462, 0.34744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.34562, 0.35182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.74654, 0.35713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.29426, 0.36334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.13598, 0.37021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.44116, 0.37744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -9.06403, 0.38487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.36105, 0.39266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -17.04721, 0.40126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.97144, 0.41121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -22.1178, 0.42296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.57266, 0.43666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.47099, 0.45222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -24.93308, 0.46943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.01044, 0.48814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.66811, 0.50825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -23.8205, 0.52948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.41276, 0.55084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.51594, 0.57014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.38704, 0.58402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.4414, 0.58897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.12178, 0.58279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.72877, 0.56564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.31867, 0.53995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.71724, 0.5095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.6098, 0.47816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.64067, 0.44902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.48387, 0.42394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.88227, 0.40357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.66586, 0.38774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.75687, 0.37578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.1621, 0.36686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -22.94993, 0.36019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.21487, 0.35507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.04465, 0.35097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.51218, 0.34746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.70206, 0.34415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.75139, 0.34079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -7.86226, 0.33726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.25644, 0.33368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.09201, 0.33033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39839, 0.32751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.07164, 0.32539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.0725, 0.32399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.22026, 0.3232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.49292, 0.3228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.91838, 0.32259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.44816, 0.3224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.0018, 0.32215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.50637, 0.32183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.9091, 0.32145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.16789, 0.32104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.24125, 0.32065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 14.09353, 0.32033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.71186, 0.32015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 15.11838, 0.32016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.47756, 0.3139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.65348, 0.3144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.73661, 0.3151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.78271, 0.31598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.81546, 0.31702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.82826, 0.31818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.79898, 0.31944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70539, 0.32079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.53404, 0.32222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.2848, 0.32376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 12.97553, 0.32543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.64469, 0.32724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.34219, 0.32919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.10115, 0.33124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.89694, 0.33342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.61619, 0.33576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.06026, 0.3384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 9.98966, 0.34156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.19207, 0.34541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.54828, 0.35004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.07854, 0.35531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -2.04051, 0.36091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.49918, 0.36654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.92156, 0.37212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.95505, 0.3779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.34353, 0.38439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.95814, 0.39214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.78869, 0.40151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.91146, 0.41255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.44359, 0.42496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.49017, 0.43825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.09878, 0.45192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.24664, 0.46561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -21.8756, 0.47898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -19.96309, 0.49146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -17.59419, 0.50198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -14.99638, 0.50892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.51346, 0.51058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.52359, 0.50578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.33626, 0.49441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.11063, 0.4775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.8193, 0.457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.26016, 0.43514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -13.10812, 0.41395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.99212, 0.39489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.57603, 0.37873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.62074, 0.36562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -18.01267, 0.35529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.75536, 0.34726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -16.92995, 0.34103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.64038, 0.33614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -13.9695, 0.33226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -11.97266, 0.32906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.71398, 0.32629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.3167, 0.3237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -4.97933, 0.32117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.92693, 0.31875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.31955, 0.31659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.17888, 0.31487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.61978, 0.3137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.28948, 0.31308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.04138, 0.3129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.00602, 0.31301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.20063, 0.31323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.55301, 0.31344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.95937, 0.31356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33436, 0.3136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.62459, 0.31359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.79134, 0.31354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.79193, 0.31349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.58231, 0.3135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.13877, 0.31361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.47756, 0.3139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.1936, 0.30974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.29409, 0.31041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.30111, 0.31127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.28409, 0.31231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.27699, 0.31351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.27635, 0.31482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.25582, 0.31621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18383, 0.31767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.03572, 0.31919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.80159, 0.32077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.49383, 0.32241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.151, 0.32411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.82726, 0.32585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.55977, 0.32762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.32364, 0.32945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.00064, 0.3314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.38731, 0.33365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.24612, 0.33638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.37806, 0.33972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.68882, 0.34364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.2302, 0.34791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.79418, 0.3522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -8.0659, 0.35622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -12.22479, 0.35998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.94961, 0.36378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -19.01247, 0.36815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.29494, 0.37358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.77657, 0.38038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51047, 0.38849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.59166, 0.3975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.11967, 0.40678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.16487, 0.4156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -20.75758, 0.42342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -18.91155, 0.42991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -16.6689, 0.43487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.13666, 0.4381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.49347, 0.43927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -8.96914, 0.43796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -6.81434, 0.43375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.26926, 0.42649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.5237, 0.41644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66328, 0.40431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.62034, 0.39111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.16359, 0.37784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.94677, 0.36534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.60282, 0.3542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.84187, 0.34469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.51079, 0.33682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.59488, 0.33044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.16998, 0.32532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.33363, 0.32124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.15341, 0.318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.66233, 0.31542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -6.90216, 0.31331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -4.98073, 0.3115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.09159, 0.30987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.46469, 0.3084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26888, 0.30718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.47093, 0.3063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.88902, 0.30583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.219, 0.30575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.6929, 0.30599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.45003, 0.30643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.49908, 0.30693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.74733, 0.3074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.0702, 0.30779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.37084, 0.3081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.59493, 0.30834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.70688, 0.30854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.66312, 0.30873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.41184, 0.30895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.91869, 0.30927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.1936, 0.30974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.22337, 0.30751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.25532, 0.30829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.18476, 0.30926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 11.09647, 0.31039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 11.0378, 0.31165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 11.01179, 0.31301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.99036, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93399, 0.31589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.808, 0.31736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.59438, 0.31885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.3015, 0.32035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 9.96749, 0.32184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.64633, 0.32332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.37163, 0.32478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.11073, 0.32627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.7376, 0.3279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.04824, 0.32983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.81716, 0.33221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 4.8706, 0.3351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.14819, 0.33838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -1.26532, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -5.14777, 0.34485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -9.18688, 0.34745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -13.05041, 0.34962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.45001, 0.35167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -19.17757, 0.3541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -21.11379, 0.35734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.22155, 0.36162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.53319, 0.36684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.13275, 0.37262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.13212, 0.37829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.64583, 0.38315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -17.77657, 0.38669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.61845, 0.38868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.26928, 0.38921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -10.83596, 0.38855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.42902, 0.38693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.16, 0.38444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.15373, 0.381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.56547, 0.37643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.57317, 0.3707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.32444, 0.36395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.85696, 0.35654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -3.04307, 0.34887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.60219, 0.34133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.18414, 0.33426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.48219, 0.32789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.31691, 0.32234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.65321, 0.31763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.55294, 0.3137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.09939, 0.3105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.34102, 0.30794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.28795, 0.30593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -4.9595, 0.30438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.44558, 0.30316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.92957, 0.30218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.64107, 0.30141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.2435, 0.30086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.69154, 0.30059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.83828, 0.30061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 0.9288, 0.30091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.20971, 0.30143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.8276, 0.3021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.78615, 0.30282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 3.97827, 0.30351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.26368, 0.30413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.53573, 0.30468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.73775, 0.30515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.835, 0.30558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.78158, 0.30598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.51742, 0.3064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.99713, 0.30689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.22337, 0.30751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.51432, 0.30705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.49882, 0.30796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.36341, 0.30901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.20928, 0.31018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.09999, 0.31145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 10.04817, 0.31277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.02581, 0.31412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98578, 0.31546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.88316, 0.31677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.69221, 0.31804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.41826, 0.31929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.09874, 0.32049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.78468, 0.32165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.50133, 0.32279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.20465, 0.32398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.76172, 0.32535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 6.97401, 0.32705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.63712, 0.32919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.61074, 0.33173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 0.87186, 0.33448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.46612, 0.3371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -6.17373, 0.33923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.95651, 0.3407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.51435, 0.3416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.58649, 0.34223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.97557, 0.34304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.5573, 0.34438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28358, 0.34646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.18029, 0.34918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.33778, 0.35222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -18.89283, 0.35505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.00571, 0.35712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -14.83968, 0.35807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.54615, 0.35778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.25217, 0.35645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.04708, 0.35443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -5.9766, 0.35209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.05815, 0.34959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.32024, 0.34696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -0.84637, 0.34407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.21318, 0.34078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.68691, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.47136, 0.33298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.38879, 0.32866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.68432, 0.32426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.10598, 0.31992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.35684, 0.3158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.24896, 0.31201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.73364, 0.30864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.85952, 0.30573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.69577, 0.30327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.27389, 0.30127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.58428, 0.29971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.62554, 0.29855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.46771, 0.29773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.27776, 0.29718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27649, 0.29686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.35847, 0.29678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.58714, 0.29692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.53942, 0.29728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.46209, 0.29784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.60802, 0.29857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.12847, 0.29942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.02623, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.18805, 0.30123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.46516, 0.30209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.74377, 0.30289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.96322, 0.30363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.08631, 0.30431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 9.06245, 0.30495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.82227, 0.30559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.30836, 0.30627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.51432, 0.30705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.99905, 0.30823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.9731, 0.30929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.80204, 0.31042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.60328, 0.31162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.45876, 0.31285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.39354, 0.31408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.38144, 0.31528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.36761, 0.3164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.29564, 0.31745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.13097, 0.31841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.87519, 0.31931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.56413, 0.32015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.2441, 0.32096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 7.93048, 0.32178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.5686, 0.3227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.02297, 0.32388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.1076, 0.32541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.64632, 0.32736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.53667, 0.32964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), -0.20796, 0.33197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.45241, 0.334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.96941, 0.33541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.48813, 0.33604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.73876, 0.33599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.48188, 0.33554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.52766, 0.33507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.75233, 0.33491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.11082, 0.33523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.63974, 0.33599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.44776, 0.33697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.69556, 0.33781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.57177, 0.33814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.27028, 0.33774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -9.96825, 0.33655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -7.80161, 0.33475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -5.8421, 0.33261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.09093, 0.33041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.50348, 0.32831 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.04288, 0.32635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.26201, 0.32445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.29215, 0.32249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.87478, 0.32039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.87162, 0.31812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.26984, 0.31569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.21791, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -1.02065, 0.31046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.17145, 0.3078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.05013, 0.30523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.60201, 0.30284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.8671, 0.30067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.90538, 0.29879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.73769, 0.29721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.34121, 0.29597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.69796, 0.29506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.85795, 0.29447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.96665, 0.29418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.22737, 0.29414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.18968, 0.29434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.24087, 0.29475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.04705, 0.29534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.1524, 0.29608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), -0.10738, 0.29696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.33471, 0.29796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.17999, 0.29905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.31794, 0.30018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.59962, 0.30131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.90765, 0.30241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17616, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.36231, 0.30446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.40852, 0.3054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.23503, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.77124, 0.30725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.99905, 0.30823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.59427, 0.31085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.61088, 0.3121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.45123, 0.31335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.24641, 0.31457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.09717, 0.31574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 9.04324, 0.31683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.06226, 0.31781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09223, 0.31866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.06432, 0.31938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.93328, 0.31999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.69471, 0.3205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.38068, 0.32096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.03149, 0.3214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.65348, 0.32191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.18524, 0.3226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.49509, 0.3236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.41636, 0.325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 3.806, 0.3268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.60071, 0.32883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -1.15273, 0.33081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.30318, 0.33238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.63014, 0.33325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.88599, 0.33328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.82698, 0.33255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.2328, 0.33132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.92644, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79762, 0.32864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.82024, 0.32766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.05342, 0.327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.62527, 0.32655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -14.70776, 0.32611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.49324, 0.32545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.17656, 0.32442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -7.93628, 0.323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -5.90788, 0.32127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.15464, 0.3194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.65659, 0.31757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.33561, 0.3159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.11408, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 1.01938, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.97622, 0.31188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.59498, 0.31066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.72328, 0.30937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.31147, 0.30799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.46063, 0.30648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.39233, 0.30484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64492, 0.30309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.47553, 0.30131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.04307, 0.29957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.38282, 0.29794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.55114, 0.29646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.56613, 0.29518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.40015, 0.29414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.0249, 0.29338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.47233, 0.29292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.8635, 0.29275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.37709, 0.29286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.16743, 0.29322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.27639, 0.29378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.59326, 0.2945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.89309, 0.29535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.93636, 0.29634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.57241, 0.29746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.21177, 0.29872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.31657, 0.30008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.60082, 0.3015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 3.94765, 0.30294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.28562, 0.30436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.56408, 0.30574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.71692, 0.30707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.65387, 0.30834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.29051, 0.3096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.59427, 0.31085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.20516, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.33022, 0.31611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.24619, 0.31751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.09177, 0.31878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.98362, 0.31988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.97644, 0.3208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.05392, 0.32154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.14918, 0.32209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.18189, 0.32247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.09501, 0.32272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.87529, 0.32287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.54783, 0.32297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.14538, 0.32309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.66701, 0.32334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.04968, 0.32383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.17199, 0.32469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 4.89195, 0.32596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.10222, 0.32758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 0.77795, 0.32937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -2.00348, 0.331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -5.07734, 0.33216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -8.22856, 0.33258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.22793, 0.33216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.85425, 0.33095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.90998, 0.32917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.24297, 0.32712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.77218, 0.32506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.50268, 0.32319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.51895, 0.32158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -14.96053, 0.32021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -12.99392, 0.31898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -10.79424, 0.31778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.53726, 0.31651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.38913, 0.3151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.48175, 0.31359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -2.87908, 0.31205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.5586, 0.31058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.43054, 0.30926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.60457, 0.30813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.58672, 0.30717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.45568, 0.30636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 3.06839, 0.30562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.27213, 0.3049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.99562, 0.30413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.30405, 0.30325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.38235, 0.30221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.4536, 0.30102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.3168, 0.29974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.87185, 0.29843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.24364, 0.29715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.4887, 0.29593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.62919, 0.29484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.6411, 0.29392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.49298, 0.29323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.20253, 0.2928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.86575, 0.29267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.63209, 0.29282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.63327, 0.29323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.90384, 0.29385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.34215, 0.29462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.74138, 0.29553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.8779, 0.29658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.60542, 0.2978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.90168, 0.2992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.15045, 0.30078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.42382, 0.30249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.80589, 0.30427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.22027, 0.30609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.60761, 0.30789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.89333, 0.30965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.97814, 0.31136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.76498, 0.31301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.20516, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.73746, 0.31909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 9.04228, 0.32091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.11054, 0.32252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.0786, 0.32385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.07134, 0.32489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.15536, 0.32564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.3219, 0.32613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.50341, 0.3264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.61203, 0.32648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.58016, 0.32644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.38375, 0.32631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.03741, 0.32616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.56428, 0.32607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 7.95749, 0.32616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.15662, 0.32653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.05549, 0.32728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.53999, 0.32843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.53898, 0.32987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.06451, 0.33136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.77692, 0.33262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.80546, 0.33335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.80605, 0.33332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.56154, 0.33248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.87216, 0.33089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.57087, 0.32873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.5443, 0.32626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.75367, 0.32372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.2406, 0.3213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.11062, 0.31911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.50317, 0.3172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.56549, 0.31553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.44314, 0.31405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.2834, 0.31268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.23392, 0.31136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.42168, 0.31007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -1.9166, 0.30882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.7054, 0.30765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.29786, 0.3066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.19983, 0.30572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 2.05926, 0.30501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.84135, 0.30446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.42584, 0.30403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.66945, 0.30366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.49073, 0.30327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.92802, 0.30277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.13391, 0.30211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.30647, 0.30126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.59999, 0.30027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.07175, 0.29921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.30699, 0.29812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.59404, 0.29705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.81968, 0.29605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.96994, 0.29518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01701, 0.29449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.96892, 0.29404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.89795, 0.29387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.92238, 0.29399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.14692, 0.29438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.59398, 0.29498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.16821, 0.29574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.68124, 0.29664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.9273, 0.29771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.7659, 0.29897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -2.16487, 0.30047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.18776, 0.30221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.05567, 0.30415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.45976, 0.30624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.94435, 0.30843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.44185, 0.31064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.87087, 0.31284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.12664, 0.31501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.10339, 0.3171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.73746, 0.31909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.11709, 0.32386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.66708, 0.32601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.96688, 0.32784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.13799, 0.32926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.30105, 0.33027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52701, 0.33089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.81413, 0.33118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.09928, 0.33123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.29393, 0.33111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.32444, 0.3309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.15629, 0.33066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.79116, 0.33044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.24025, 0.33032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.49071, 0.33041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.48682, 0.3308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.13987, 0.33155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.36428, 0.33263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.12389, 0.33389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.53395, 0.33508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.47334, 0.33589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.49535, 0.3361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.37837, 0.33555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.9124, 0.33424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.92036, 0.33228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.27353, 0.32983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.90734, 0.32711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.83124, 0.32432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.12198, 0.32163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -13.89862, 0.31915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.2912, 0.31696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.42084, 0.31508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.40018, 0.31347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.3465, 0.31209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.38747, 0.31088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.64364, 0.30978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.1918, 0.30877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.03342, 0.30785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.90363, 0.30704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.72196, 0.30636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.49036, 0.30584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.1961, 0.30549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.7444, 0.30528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 4.00902, 0.30516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.90761, 0.30503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.4589, 0.3048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.78595, 0.30437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.06062, 0.30372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.42349, 0.30288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.9308, 0.30191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.55772, 0.30089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.24611, 0.29986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.04302, 0.29887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.30892, 0.29798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.53211, 0.29724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.71537, 0.29672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.90987, 0.29648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.20286, 0.29653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.66976, 0.29683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.31699, 0.29736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -3.05152, 0.29804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.70082, 0.29887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -4.07626, 0.29987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -4.04375, 0.3011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.56247, 0.30261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.67759, 0.30442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.48161, 0.3065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.07256, 0.30879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.4666, 0.31124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.06148, 0.31379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.62672, 0.31638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.0573, 0.31896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.24537, 0.32148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.11709, 0.32386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.31137, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.15398, 0.33095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.75325, 0.33297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20372, 0.33451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.60699, 0.33553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.02707, 0.33608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.4657, 0.33627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.86816, 0.33623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.153, 0.33607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.24746, 0.33589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.10986, 0.33575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.7288, 0.33571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.10197, 0.33582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.20936, 0.33616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 7.99939, 0.3368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.39992, 0.33774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.35203, 0.33889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 1.85214, 0.34005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -1.01843, 0.34092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -4.09278, 0.34124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -7.14848, 0.34082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.95238, 0.33962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.29979, 0.33773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.03872, 0.33532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.08329, 0.33258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.42004, 0.32969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.10418, 0.3268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.24108, 0.32404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -12.95615, 0.32149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.36605, 0.31923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.56645, 0.31729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.64086, 0.31567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.68021, 0.31434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -3.79304, 0.31324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.09156, 0.31231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.65699, 0.31153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.49386, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.41429, 0.31026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.19473, 0.30979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.90644, 0.30946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.55483, 0.30929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 4.07191, 0.30928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.35424, 0.30936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.32636, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.99346, 0.30939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.45066, 0.3091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.84057, 0.30854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.28525, 0.30773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.83649, 0.30675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.47314, 0.30568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.1389, 0.3046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.78841, 0.30354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.40975, 0.30258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.01234, 0.30175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.40439, 0.30115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.87336, 0.3008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.45219, 0.30073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.18609, 0.30092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -3.06222, 0.30131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.98518, 0.30184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.79387, 0.30252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.31444, 0.30337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.41981, 0.30446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -5.06362, 0.30585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.27677, 0.30759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.13769, 0.30964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.7381, 0.31198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.16319, 0.31454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.50771, 0.31727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.18862, 0.3201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.77995, 0.32298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17967, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.31137, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.34228, 0.33287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.49864, 0.33545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.43979, 0.33761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.22554, 0.33925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.92584, 0.34033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.586, 0.34094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.20505, 0.34119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.73748, 0.34127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.11443, 0.3413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.27069, 0.34141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.16248, 0.34165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.76774, 0.34209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.07088, 0.34275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.0435, 0.34367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.63586, 0.34488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.78905, 0.34629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.46699, 0.34775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.69553, 0.34897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.41086, 0.34961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.65232, 0.3494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.77949, 0.34824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.54578, 0.34622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.75273, 0.34357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.27569, 0.34057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.07119, 0.33745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.17164, 0.33436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.66891, 0.33142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.68782, 0.32868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.35491, 0.32619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -10.77453, 0.324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.02318, 0.32212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.16361, 0.32057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.26696, 0.31934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.42495, 0.31838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.73939, 0.31765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.29174, 0.31709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.88883, 0.31666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.83584, 0.31634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.62277, 0.31611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.31709, 0.31601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.93799, 0.31605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.44376, 0.31624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.75742, 0.3165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.81635, 0.31674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.61715, 0.31682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.22782, 0.31661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.7578, 0.31605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.30421, 0.31519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.90921, 0.31411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.55379, 0.31292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.18571, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.75743, 0.31054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.24802, 0.30947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.65829, 0.30855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), -0.01101, 0.30783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.77653, 0.30737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.6677, 0.30716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.69897, 0.30718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.83507, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.97321, 0.30766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.95884, 0.30806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.6305, 0.30862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.86949, 0.30941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.62876, 0.31052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.93132, 0.312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.84688, 0.31385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.46341, 0.31603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.86807, 0.3185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.14311, 0.32119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.62806, 0.32406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.35594, 0.32703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.95104, 0.33001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.34228, 0.33287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.28336, 0.33707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.74638, 0.33965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.03727, 0.34185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.18014, 0.34358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.20764, 0.34482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.13846, 0.34564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 11.96234, 0.3462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.63987, 0.34666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.1154, 0.34719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.3344, 0.34791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.25496, 0.34888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.84786, 0.35017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.08616, 0.35177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 10.93285, 0.35369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.33758, 0.35588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.25067, 0.35817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.65457, 0.36029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.60173, 0.36181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.76049, 0.36233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.19735, 0.36157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.43095, 0.35952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.20214, 0.35646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.32145, 0.35281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.69243, 0.34898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.30976, 0.34527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.24193, 0.34185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.60561, 0.33876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.53562, 0.33603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.15646, 0.33363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.56391, 0.33156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -8.82405, 0.32982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -6.98877, 0.32841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.1171, 0.32733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.28719, 0.32657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.58899, 0.32607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.09962, 0.32579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 1.1443, 0.32568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 2.15889, 0.32567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.99908, 0.32576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.72415, 0.32594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.36221, 0.32623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.89518, 0.32663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.27317, 0.32707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.44959, 0.32743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.41578, 0.32758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.21331, 0.32738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.91512, 0.32678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.58728, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.25647, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.90305, 0.32328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.48014, 0.32193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.94243, 0.32065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.26525, 0.31949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.44479, 0.31849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.48476, 0.31769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.61529, 0.31711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.85675, 0.31673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.22197, 0.31651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.64971, 0.31638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -6.02497, 0.31627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.19569, 0.31621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -8.01166, 0.31627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.36557, 0.31654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.21605, 0.31714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.58569, 0.31814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.54148, 0.31954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.17045, 0.32133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.56136, 0.32347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.79718, 0.3259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.04365, 0.32856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.88417, 0.33139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.65092, 0.33427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.28336, 0.33707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.23649, 0.34177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 5.97588, 0.3442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.59039, 0.34638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.07422, 0.34823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.42567, 0.34975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.63585, 0.35102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.68096, 0.35217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.52216, 0.35337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.11245, 0.35478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.40565, 0.35652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.36204, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 13.94707, 0.36128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.12437, 0.36434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 11.84875, 0.3678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.06759, 0.37154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.73744, 0.37526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 4.85646, 0.37851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.50285, 0.38068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.14156, 0.38122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.80481, 0.37982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.18011, 0.37663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -11.99852, 0.37217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.08304, 0.36712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.36536, 0.36207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -15.87245, 0.35742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.6986, 0.35335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -14.97431, 0.34989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -13.837, 0.34699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.40741, 0.34457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -10.77683, 0.34258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.00878, 0.34098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.153, 0.33975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.26332, 0.33889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.40788, 0.33837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.66438, 0.33818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.10188, 0.33824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 1.24087, 0.3385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.36697, 0.3389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.31412, 0.33937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 4.13086, 0.3399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.84922, 0.34049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.46952, 0.34111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.96568, 0.34169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.3066, 0.34214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.47966, 0.34231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.50117, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.40662, 0.34146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.22749, 0.34045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.97019, 0.33918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.61082, 0.33781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.10724, 0.33645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.41911, 0.33518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.52301, 0.33406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.4157, 0.33308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.10784, 0.33227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.38215, 0.33158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -2.02515, 0.33098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.76806, 0.33038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.51935, 0.3297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -7.14764, 0.32892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.50119, 0.32807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.44239, 0.32728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.88032, 0.32671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.78656, 0.32649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.19075, 0.32671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.16258, 0.32739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.7902, 0.32854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.16309, 0.33009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.3629, 0.33201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.46182, 0.33423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.47555, 0.33666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.39128, 0.33922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.23649, 0.34177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.29469, 0.34827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.267, 0.35049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.15594, 0.35265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 8.93555, 0.35472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.57921, 0.35671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.05591, 0.35869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.32799, 0.36079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.35208, 0.36315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.08245, 0.36593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.47467, 0.36925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.48689, 0.3732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.07746, 0.37782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.19992, 0.38311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.80004, 0.38895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.82124, 0.3951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.22448, 0.40107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.02352, 0.40613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.32531, 0.40938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.6481, 0.41002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.58232, 0.40774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.14077, 0.40288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.04834, 0.39635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.14465, 0.38918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.38999, 0.38223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -16.83897, 0.37602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.60404, 0.37077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -15.82228, 0.36648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.62933, 0.36305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.14177, 0.36036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.44937, 0.35827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.61799, 0.35671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -7.7006, 0.35562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -5.75044, 0.35497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -3.82857, 0.35474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.00109, 0.35489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.32686, 0.35535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 1.15763, 0.35604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.44749, 0.35688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.56621, 0.35779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.55068, 0.35872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.43167, 0.35962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.22042, 0.36045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.90741, 0.36117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.47258, 0.36168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.89872, 0.36189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.17918, 0.36172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.3148, 0.36118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.30306, 0.36033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.12771, 0.3593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.7564, 0.35822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.14844, 0.3572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.26787, 0.35631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.09506, 0.35556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.63203, 0.35489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 1.90208, 0.35423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), -0.05149, 0.35349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -2.16269, 0.35254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.33638, 0.35127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.44514, 0.34963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.3381, 0.34764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.86454, 0.34545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.90377, 0.34327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.38809, 0.34135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.30956, 0.33985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.71127, 0.3389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.66954, 0.33853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.27469, 0.33873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.61573, 0.33944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.77148, 0.3406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.80785, 0.34215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.77938, 0.344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.26795, 0.34608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.29469, 0.34827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.50726, 0.35868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.66773, 0.36075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 6.77551, 0.36302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 8.79444, 0.36549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.68433, 0.36821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.40066, 0.37125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 13.89519, 0.37474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.11745, 0.37882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.0165, 0.38365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.54177, 0.38937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.6422, 0.39607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.26325, 0.40384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.34365, 0.41262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.8156, 0.42225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.61427, 0.43228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.70257, 0.4419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.11191, 0.44989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 0.98653, 0.45481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.39807, 0.4555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.67321, 0.45164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.4683, 0.444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.50575, 0.43407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.64792, 0.42346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -17.8869, 0.41338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.30403, 0.40453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.02686, 0.39717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.19629, 0.39127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -15.94518, 0.38667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.38661, 0.38317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.61025, 0.3806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -10.68572, 0.37879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -8.67056, 0.37765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.61887, 0.37711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.58626, 0.37709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.62831, 0.37754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -0.79325, 0.37836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.88738, 0.37946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.40475, 0.38073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.77151, 0.38205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 5.0127, 0.38335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 6.15289, 0.38455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 7.20531, 0.38562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 8.16734, 0.3865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 9.023, 0.38716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.74899, 0.38757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.31949, 0.38773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.70705, 0.38767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.87987, 0.3875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.7991, 0.38734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.41958, 0.38729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.69563, 0.38742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.59048, 0.38774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.08642, 0.38812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.19295, 0.3884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 2.95214, 0.38833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.4417, 0.38765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -2.22384, 0.38613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.89606, 0.38363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.40393, 0.3802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.57536, 0.37605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.26451, 0.37153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.37494, 0.36704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.87011, 0.36295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.76944, 0.3595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.13425, 0.35681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -11.04988, 0.35492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.6091, 0.35378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.89954, 0.35334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.99648, 0.35351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.96063, 0.3542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.8398, 0.35535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.32737, 0.35686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.50726, 0.35868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 1.86228, 0.37644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.17492, 0.37852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.4546, 0.38114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.66248, 0.38434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 10.75407, 0.3882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.67959, 0.39282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.38503, 0.39836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 15.8133, 0.40499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 16.90487, 0.41291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.59724, 0.42231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 17.82301, 0.43336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.50699, 0.44616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.56443, 0.46068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 14.90422, 0.47662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.44364, 0.49321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.14124, 0.50901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.04848, 0.52188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.36227, 0.52938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.56299, 0.5297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.28087, 0.52263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.37713, 0.50982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.5768, 0.49388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -18.77591, 0.47733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.00719, 0.4619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.38323, 0.44852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.04855, 0.43744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.14917, 0.42859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -17.81667, 0.42171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.16174, 0.41651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.27394, 0.41271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.22528, 0.41007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.0759, 0.40842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -7.87947, 0.4076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -5.68621, 0.4075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.54232, 0.408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.48628, 0.40898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.4559, 0.4103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 2.27371, 0.41183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.9712, 0.41344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.56154, 0.41503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 7.0589, 0.41653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.47044, 0.4179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.79119, 0.41913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 11.00269, 0.42027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 12.0745, 0.42134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.96672, 0.42245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.63182, 0.4237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 14.01563, 0.42523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 14.05844, 0.42716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.69764, 0.42958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.87334, 0.43248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.5374, 0.43569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.66559, 0.43889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.27159, 0.44158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.42042, 0.44312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.23673, 0.44288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -2.09786, 0.44043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.36309, 0.43565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.33284, 0.42889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.81255, 0.4208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.66793, 0.4122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.83627, 0.40381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.32054, 0.39619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.17324, 0.38965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.4772, 0.38431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.32823, 0.38017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.82176, 0.37714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -9.04385, 0.37512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -7.06656, 0.37398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.94704, 0.37363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.72956, 0.37396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.44947, 0.37492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 1.86228, 0.37644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.28673, 0.40754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 3.72943, 0.40989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.15062, 0.41326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.51282, 0.41773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 10.77272, 0.42341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 12.88082, 0.43047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 14.78164, 0.43915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.41365, 0.4497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 17.70854, 0.46242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.58949, 0.47766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 18.96812, 0.49573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.74137, 0.51688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 17.79022, 0.54112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 15.98571, 0.56798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.2104, 0.59609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.40546, 0.62281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.64411, 0.64408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.79804, 0.65542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.44242, 0.65383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -11.72475, 0.63973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.17487, 0.61671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -19.53397, 0.58961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -21.75376, 0.56247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -22.92487, 0.53776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.20124, 0.51658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -22.74971, 0.49911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -21.72464, 0.48511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.25833, 0.47412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.4597, 0.46569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.41683, 0.45939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.20109, 0.45485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -11.87163, 0.45178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.47898, 0.44993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.06726, 0.44908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -4.6744, 0.44906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.33096, 0.4497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.05859, 0.45082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 2.13078, 0.45229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 4.23369, 0.45396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 6.25175, 0.45575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 8.18663, 0.45761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 10.03489, 0.45953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.78372, 0.46158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.40863, 0.46386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.87278, 0.46651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 16.12749, 0.46974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 17.11317, 0.47374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.76026, 0.47875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.99055, 0.48494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.71967, 0.49241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.86249, 0.50107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.34338, 0.51056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.11357, 0.52012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.17629, 0.52854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.61525, 0.53427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.6141, 0.53578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.55117, 0.53209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.55708, 0.52322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -9.10124, 0.51027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.96208, 0.49495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -14.02436, 0.47902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.26986, 0.46383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.7497, 0.45022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.55473, 0.43857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.79217, 0.42897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.56993, 0.42132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.98717, 0.41542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -10.12933, 0.41109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -8.06649, 0.40813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.85404, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.53522, 0.40577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -1.14481, 0.40616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.28673, 0.40754 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.58124, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.59104, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.61594, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.65713, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.71432, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.7855, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.86583, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.94633, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.0131, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.04754, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.02804, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.93268, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.74281, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.44715, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.04625, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.55708, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.01696, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.48585, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.0455, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.79415, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.83604, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.26604, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.15179, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.51772, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.33671, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.5329, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.99548, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.59846, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -55.21975, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.75457, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -58.1214, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.26162, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.13607, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.7221, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.01356, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.02413, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.79202, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.38293, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -59.888, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.41514, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.07408, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -58.95915, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.13529, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.63161, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.44305, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.53767, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.86622, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.37145, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.99576, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.68674, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.40017, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.10033, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.75791, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.34614, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.83651, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.19555, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.38402, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.35967, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.08382, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.53083, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.69633, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.59904, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.27425, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.76344, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.1059, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.33501, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.47802, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55741, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59226, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.59916, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.59239, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.58355, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.58124, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.19096, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.20224, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.22107, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.24907, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.28721, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.33638, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.39643, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.46417, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.53138, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.58387, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.60177, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.56112, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.43636, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.20443, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.85086, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.37802, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.8142, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22097, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.69565, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.36603, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.37588, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.86122, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.92119, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.5915, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.83131, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.53058, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.53586, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.68346, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.82726, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.85372, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.68317, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.26128, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.54728, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.50554, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.10543, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.32993, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.18903, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.73182, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.05169, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.28065, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.57129, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.06943, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -59.88688, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.0847, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.67112, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61095, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.8399, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.27927, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.84816, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.47258, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -69.09049, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.65267, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.11976, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.45718, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.63086, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.60689, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.35654, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.86446, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.13493, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.19083, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.06522, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.79085, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.3931, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.88864, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.28794, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.59879, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.82915, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.98869, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.08943, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.14551, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17208, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18341, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.19096, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.39558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.39094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.38834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.38791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.38939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.39451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.40682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.42948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.46225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.49924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.5275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.52619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.46653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.31413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.03602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.61345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.05841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.4288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.83603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.44026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.43052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.98995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.25171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.25896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.94726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -46.16093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.69673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -51.35387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.97024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.43647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.68971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.69433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.41938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.82266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.84883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.44259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.57118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.24658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.53941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.58067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.54837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.63708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.01766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.80357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.03676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.70301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.96678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.37952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.84319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.27613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.61532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.81282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.82993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.63402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.20183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.63084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.55155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.34, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.0399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.26223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.78743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.24332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.6211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.91673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.13175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.27327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.3537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.38949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.39558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.01603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -57.9769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.93611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.88953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.83672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.78248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.73498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.70218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.68852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.69165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.6985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.68094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.59476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.3868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.0132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.46558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.13242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.65173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.3085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.80744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -38.19211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.36361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -43.11089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -46.17642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -49.32346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -52.3784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -55.24173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.87341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -60.2631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.39739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.23668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.71061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.73342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.23285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.17994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.60886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.62408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.39596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.14027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.07773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.38537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.16144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.41656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.08815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -63.06716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.22696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.44729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.62913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.69852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.60164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.2974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.96201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.93239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.71272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.3705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -68.97333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.56822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.17129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.7708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.33964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.84931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.27898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.61772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.86287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -64.01862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.09615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.11362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.09335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.91907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.82746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.73694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.63721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.52231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.39494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.26543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.14819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.05773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.0038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -42.98376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -41.97285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.91843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.74697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.38881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.32483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.79469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.78195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.57013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.35218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -33.16296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.86116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -39.17671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.79804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -46.45313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.95509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -53.20934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -56.19252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.91526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.3822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.56373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.38879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.76006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.58459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.80677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.43038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.52644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.2338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.7533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.32347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.17238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.46295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.25867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.52349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.14975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.99784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.93197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.84182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.64699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.28872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.90516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.83235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.52827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.06107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.52271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -63.99834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.53837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.14668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.41307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.97301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.43886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.79742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -60.04575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.18697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.23136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.19894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.11806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.12545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.93994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.77747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.62887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.47574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.30344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.10878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.90069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.69697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.5201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.39103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.31771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.27929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.21525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.03282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.6397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.1533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.29447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.70452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.72909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.69199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.80061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -27.07278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -30.32549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -34.2373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -38.44971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.65565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.64619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -50.31656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.6434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.64538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -59.3405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.71457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.71125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.24451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.22635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.59689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.34472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.51469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.2115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.60414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -60.91974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.40874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.28352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.66035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.53777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.36214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -59.0241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.6918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.28324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -60.98676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -60.99077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.72624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.22501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.57469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.8939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.28945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.81755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.46851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.87445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.4833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.97096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.32618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.54947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.64476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.62167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.50245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.32334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.12545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.24422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.93939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.68496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.46997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.26659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.0484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.80265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.53328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.25816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.00484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.80278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.6681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.58197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.47564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.23988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.05243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.09956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.4859, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.59581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.77339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -17.22381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.94561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.72865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -28.22173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -33.03394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.82253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -42.34224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -46.45635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -50.11943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -53.34213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -56.14983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.54948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.51559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.99686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.93546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.28759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.03799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.20992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -60.87723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.17901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.32451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.5683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.14934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.21927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.80329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.81619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.11683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.50075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.84209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.00311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -54.91383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.53876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -53.90981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.13305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.35701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.71505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.27213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.00372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.59765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.25879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.75816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -49.08968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.26051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.27709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.14888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.90113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.58044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.24422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.2968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.83949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.47231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.18437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -28.93752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.69069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.41806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.11536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.49599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.24407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.06236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -18.9304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.77062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.46247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.89392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.97994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.98799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.41913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.67125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -7.08152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.83782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.92694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -16.13923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -21.12591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -26.48329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -31.83299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.87799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -41.42787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -45.39506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.76879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.57782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.85653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.62537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.88728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.63262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.84515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.5091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.62402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.44236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.45537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.5292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -47.9196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.79724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.19871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.04084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.18236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.48841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.86183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.23415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.53633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.68026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.57265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.15832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.46512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.61606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.7913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.15444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.78163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.63268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.47048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.19445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.7036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.99869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -41.09552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -40.00442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.73547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.31817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.81244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.2968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.31498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.68207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.18959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.82915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.55208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.30024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.03153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.7308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.4094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.09839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.83502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.63922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.48531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.28782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.92259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.28617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.30479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.62981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.06565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.62267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 1.99613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.02308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -3.2861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -7.75264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -13.06297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -18.82267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -24.62305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -30.10731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -35.01816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -39.21429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.65624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -45.37406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.43284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.90655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.8611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.34138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.36119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.9035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -48.94126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.47963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.60357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.50235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.44548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.70682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.46999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.77239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.52307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.57498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.79788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.10876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.45344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.76628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -38.94699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -38.8795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.48714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.79052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -36.92623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.10427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.51858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.25745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.26542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.21356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.74374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -34.00455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -33.02068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.80704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.37528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.76072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -27.03935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.31498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.49476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.68842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.0774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.65856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.37385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.14713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -6.91764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.65728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.37232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.09431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -1.86147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.69098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.44903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.64803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 3.02417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.66123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.54033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.50358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.26914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.48996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 11.83046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.03355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 8.96108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 5.60819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.10373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -4.29539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -10.22463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -16.26104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.99732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -27.11314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -31.41407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.8302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.38889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -39.1805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.32726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.95374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.15646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.97799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.40022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.37004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.85652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -35.91642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.73065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.57961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.75538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.45278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.70657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.41406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.41908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.59395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -27.86994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.20976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.55588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.80132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.81176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.49096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -27.85021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.03392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.27452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.79035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.67999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.87545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.18208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.37571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.29431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.87442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -25.12609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -24.08076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.75759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.17082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.36291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.42731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.49476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.21869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.27869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.58271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.13559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 1.1268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.29669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.45361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.63967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.85462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 7.06704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.23833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.35392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.44894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.6098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.93946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.49599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.23531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 17.98993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.49505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.44772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.57091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.65872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 17.5949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.35692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.02402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 4.79357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -1.01375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.98652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -12.69714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -17.78741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -22.02413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -25.30914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.65842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -29.1721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -30.00326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.32112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.26594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.9076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.23002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.15914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.63219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.67873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.46793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.28393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.42909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.10452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.34252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.03183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.00931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.14915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.39487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.72608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.09777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.40486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.50459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.28788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.75654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.05436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.42201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.08891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.15867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.55634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.44913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.51494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.19153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.4862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.43231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -13.05172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.36178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.41248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.31316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.21869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 4.99931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.9968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.72094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.15651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.36789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.45773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.52092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.6129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.74034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.87331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.97318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 19.02565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 20.06332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.16141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.40102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.81435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.34072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.81828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.0152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.68265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.60383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.62043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 25.63733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 22.62279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 18.62275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 13.78819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 8.39223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 2.808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -2.55847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -7.35201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -11.32731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -14.36534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.46129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.70472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.25585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.3082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -18.03369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.52704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.77973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.70664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.22241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.33285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.18946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.06591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.2587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -4.96573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.21796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -3.90387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -3.86087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -3.96652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.17287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.47316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -4.83772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.17391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.34507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.24097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -4.85623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.32402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -3.87426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.72869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -3.98812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.57826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.28581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.85799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -6.10199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.93025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.34019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.36032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -3.01206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.31545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.67366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.83544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 4.99931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.64966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.60931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.29555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.68107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.82334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.82663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.79428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.79197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.83381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.89346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.93297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.93561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.92539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.95968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.09475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.34028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.62801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.81203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.69971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.09577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 35.83754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 34.80891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 32.93842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.19943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 26.62665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.34397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 17.58078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 12.65361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 7.91054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 3.6628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.13673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.54185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.3445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.33455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.65662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.50524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.06682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.6732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.63966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.25971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.47885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.4492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.40563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 6.07685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.27933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.98205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.28683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.34564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.2744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 8.11682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.87214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.5551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.23714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 7.03372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 7.04245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.27137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.60619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.84566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.79381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.36058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.61264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.74549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 4.99782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.56138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.53502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 4.93714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.75104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 6.95976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.54253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.44151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.53514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.64966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.37106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.20081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.78799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 28.09347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.16148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 30.08816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.97628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.89649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.86973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.87524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.87725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.85521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.82062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.80961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.85369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.01205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 41.93036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.54428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.70496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.29494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.2354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.48252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.02819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 33.91417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.25273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.23536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.11464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.16157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 14.61852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 11.66935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.4302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 7.94654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.1857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.03355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.31562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.85092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.51847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.29842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.25867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.48765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 13.00804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.72236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.42716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.89185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.9562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.58849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.87307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.94253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.90248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.79546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.61964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.37858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 19.11921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.92616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.87376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.96731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 19.1147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 19.15327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.92376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.35236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.49447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.51614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.62729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.00715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.7615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 14.92641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.50131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.47729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.83563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.52149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.42118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.37106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.01632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.64266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.08176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.28583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.2826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.15202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.85638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.78553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.76027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.74876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.72714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.69384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.66391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.64649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.61888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.51262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.22002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.61744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.06545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 46.98892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.34966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.16584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.49567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.4474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.17912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 30.88114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 27.74646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 24.94423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.60742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 20.8308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.66548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.10368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.06556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.40994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.97805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.65334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.4028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.27181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.33158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.60734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 26.03049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.44558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.67022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.57272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 30.12159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.38068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.45831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.4463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.3865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.28014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 30.12451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.94446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.79238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.71533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.7117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.7093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.58417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.21536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.54709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.62388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.57973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.58983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.81346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.35725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.27202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.57331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.26156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.32239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.70809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.32035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.01632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.62582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 39.00009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.25635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.27484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.10792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.91863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.76685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.6781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.6439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.63745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.63347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.61965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.59317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.44095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.21509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.77452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.01965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 53.86651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.26219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.18924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.66276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 48.72762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.45889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 43.96169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.36432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 38.80299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.40438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.27514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.5019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.15425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.27913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 29.88332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.91642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.27356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.82698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.47396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.17337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.94733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.8446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.8866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 36.02855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.16031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.1475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.88867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.3551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.59153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.68112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.69946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.68578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.57188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.47461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.37817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.30429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.2428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 39.13634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.89325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.69585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.73933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.66247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.60755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.71143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.07595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.76068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.7933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.18233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 33.91845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 34.96321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.23758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.62582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.35949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.46019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.51504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.47734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.34671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.16049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.97196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.82597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.74309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.71766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.72765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.74827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.7603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.74808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.68909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.5422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.24284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.70962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.86054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.63218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 57.99352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 56.95027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.54145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 53.83298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 51.91123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 49.87564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 47.82874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 45.8647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.06133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.47989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.17168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.18327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.55169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.2887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.36446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.70575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.21641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.81207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.44921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.13075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.88371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.72227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.61875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.50077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.27663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.87418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.27028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.49444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.60663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.66497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.70295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.72713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.73119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.71203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.67429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.61969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.52996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.35776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 47.03573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.50285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.73525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.76507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.67722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.5867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.60898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.83703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.33255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.12968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.24214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.66508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.36964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.29668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.35949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.12288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.95884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.76957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.57335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.40077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.27848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.21778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.21213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.2425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.28551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.31832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.2543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.08121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.73693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.1488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.24797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 62.9864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.34975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.36112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.07608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.57293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 56.94159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.27279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.64804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.13219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.77166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.59928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.64288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 47.93074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.48814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.32521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.42386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.73446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.71821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.2843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.87615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.50345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.17274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.86764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.54461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.14689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.62844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.97357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.20101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.35097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.46414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.56533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.6594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.73844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.79175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.81007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.78099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.68019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.46724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 54.09274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.5162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.72669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.75518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.67197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.54855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.6863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.04263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.65279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.53268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.68105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.07798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.68267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.0875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.35717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.0744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.82727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.61986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.46339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.36702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.33115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.34547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.44711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.48814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.48776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.41159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.2133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.83407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.20888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.27957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.01038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.39961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.48204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.32209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.00171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.60747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.21935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 58.90254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.70341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.65087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.76251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.05243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.53584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.22703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.13119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.23548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.50583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.89355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.34925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.83683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.33983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.85661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.38781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.92435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.4433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.91435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.31264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.63016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.87861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 60.08239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.26615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.44414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.61637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.77169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.89357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.96351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.96001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.85527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.61473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.20307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.59647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.79561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.83267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.76837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.68033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.6482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.74101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.0102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.48847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.19177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.12169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.26627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.0875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.4579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.07014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.3758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.26308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.2832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.32994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.41174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.39366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.2911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.05857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.64126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 70.98146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.0306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.76351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.18824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.34651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.30511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.14293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 65.93848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.76028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.66114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.67647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.8267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.12261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.57126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.17942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 59.95268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.8908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 59.98243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.20307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.51845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.89246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.29568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.71037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.12934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.55015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.96853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.37525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.75815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.10762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.42189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.70818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.97906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.24558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.51115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.76887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 66.00269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.19072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.30802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.32764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.22086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.95921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.51973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.89307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.09066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.14729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.11717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.0651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.37866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.36959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.8916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.73228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.45844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.27303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.16452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.1182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.11614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.13773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.16022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.15834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.10265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 72.95718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.67781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.21373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.51397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.53888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.27285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.73177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 72.96096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.02525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 70.9964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 69.94248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 68.92081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 67.97454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.13238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.41089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.81838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.35881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.03413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.84418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.78464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.84448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.24235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.53031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.84675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.17618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.51044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.84651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.18342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.52006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.85502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.18791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.52072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.85764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.20284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.55695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.9139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.25941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.57168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.82354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.98509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 71.02624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.91936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.64271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.18503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.55004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.75894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.84937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.87068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.87708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.92068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.04612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.28759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.66828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.20158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.89303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.74223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.74439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.8916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.25323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.45201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.77651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.22097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.77817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.43911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.1926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.02496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.91999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.8592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.82207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.78595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.72534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.6103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.40477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.06571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.54545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.79858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.79336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.52285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.00951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.30035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.4559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.53893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.60644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.70518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.87019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.12524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.48468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 69.95588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.54166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.24176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.05321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.96982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.98141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.22986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.43205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.66477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.91664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.18119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.45644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.74347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 71.04504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.36462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.70583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 72.07185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.4644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.88214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.3187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.76107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.18886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.57495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.88728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 75.0919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.15682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 75.05647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.77618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.31562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.69001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.92874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.07152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.1634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.24961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.37146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.56347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.85211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.25593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.78658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.45036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.24977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.18471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.25323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.58645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 70.99492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.36792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.84646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.42269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.08645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.82529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.6246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.46773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.33596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.20811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.05955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.86083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.57622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.16349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.57697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.77538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.73359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.45257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 79.96061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.30524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.54152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.72259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.89446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.09401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.34883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.67814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.09411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.60338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.20842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.90851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.70026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.57781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.55545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.63406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.75757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.91627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.10309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.31421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.54902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.80953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.09943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.42313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.78461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.18629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.6278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.1046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.60659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.11711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.61234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 78.06172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.42964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.67883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.77569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.69647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.43265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.99316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.40245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.69573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.91336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.09604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.28137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.50182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.78379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.14747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.60738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.17332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.85147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.64541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.55693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.58645, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58403.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57254.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56092, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 54925.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53760.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52600.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51443.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50285.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49112.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 47909.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46658.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45343.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 43949.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42472.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 40915.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39293.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37629.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 35957, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34316.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32750.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31304.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30016.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 28915.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28015.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27313, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26788.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26409.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26135.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 25925.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25747, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25576.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25403, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25230.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25074.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 24961, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 24926.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25014.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25273.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25751.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26488.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27512.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28833.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30444.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32323, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34433.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36730.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39164.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41684.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44243, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46795.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49302.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51730, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 54046.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56222.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58226.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 60030.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61608.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62941, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 64015.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64828.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65385.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65698.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65783.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65659.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65347.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64865.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64235, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63475.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62605.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61645.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60613.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59527.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58403.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56247.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55044.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53832.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52620.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51415.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50221.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49040, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47866.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46689.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45494.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44260.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 42967.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41599.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40146.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38609, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 36996.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35330.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33644.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 31981.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30394.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 28936.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27658.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26600.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25783.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25202.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24831, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24623.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24525.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24482.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24452.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24405.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24327, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24217.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24088.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 23964.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 23880.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 23885.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24039.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24407.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25048.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26008.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27311.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28953.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30910.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33135, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35570, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38149.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40808.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43485.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 46127.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48691.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51144.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53456.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55601.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57551.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59281.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60768.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61996.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62958.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63657.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64103.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64313.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64304.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64096.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63708.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63157, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62460.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61635.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60701.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59676, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58579.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57431, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56247.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53906.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52675.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51438.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50204.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 48978.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47767.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46572.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45393.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44222.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43046.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41846.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40601.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39296.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 37915.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36454, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 34915.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33313.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31679.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30056.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28500.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27077.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25848.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24864, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24151.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23706.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23495, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23458.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23529.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23647.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23764.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23850.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23890.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23882.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23829.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23746.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23660.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23614.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23671.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 23911.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24413.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25246.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26454.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28047.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 30001.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32266.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34770.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37433.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40171.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42908.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45581.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48141.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50554.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52793.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54837.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56662, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58246.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59575.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60639.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61442, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61995.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62316.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62423.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62335.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62066.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61631.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61043, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60313.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59458.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58492.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57433.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56302.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55120.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53906.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51407.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50174.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48938, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47705.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46481.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45271.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44078.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 42906.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41751.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40605.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39452.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38277.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37062.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35791.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34453.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33042.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31564.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30039.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28511.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27039, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25693.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24547.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23660.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23063.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22751.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22683, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22791.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23003.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23255.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23503, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23721.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23900.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24035.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24119.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24151.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24137.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24108.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24120.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24254.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24607.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25269.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26310, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27760.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29612.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31817.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34300, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36963.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39708.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42442.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 45088.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47591.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49914.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 52031.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53922.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55568.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56952.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58067.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58919.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59525, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59909.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60097.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60109.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59957.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59649.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59190.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58588.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57852.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56991.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56020.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54955.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53817.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52627.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51407.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48766.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47557.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46348.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45145, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 43948.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42764.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41596.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40450.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39328.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38227, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37137.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36048.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 34945.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33812.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32631.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31386, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30072.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28703.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27316.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 25971, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24742.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23709.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 22933.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22449.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22251.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22295.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22511, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22825.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23179.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23537.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23884.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24217, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24527.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24799.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25009.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25143.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25207.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25243.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25323.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25549.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26025.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26844.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28067.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29711.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31745.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 34096.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36661.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39327.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41985.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44545.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46944.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 49139.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 51102.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52811.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54245.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55394.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56260.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56867.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57252.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57457.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57513.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57439.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57238.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56906.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56440.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55839.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55111.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54264.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53309, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52260.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51138.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49966.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48766.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46010.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44853.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43701.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42557.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41420.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40292.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39180.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38090.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37028, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 35994.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 34988.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34004.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33031.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32052.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31045.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 29988, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28865, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27682.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26471.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25290, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24210.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23308.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22647.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22261.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22146.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22262.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22545, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22926.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23356.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23808.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24276.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24763.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25258.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25735.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26153.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26474, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26681.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26797.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 26878.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27017.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27321.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27899.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28840.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30192.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31954.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 34067.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36433.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38927.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41431.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43844.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 46094, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 48131.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49921.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51435.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52648.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53551.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54157.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54511.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54671.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54698.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54632, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54485.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54248.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53903.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53436.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52843.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52131.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51309.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50386.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49374.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48293, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47163.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46010.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43201.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42126.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41062, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40009.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 38965.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37931.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36911.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35915, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 34948, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34015.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33120.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32262, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31433, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30618.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29793.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 28931.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28011.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27034.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26023.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25029.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24115.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23351.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22793.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22477.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22405.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22548.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22857, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23274.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23759.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24290.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24866.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25488.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26799.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27403, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27900.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28258.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28477.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28596.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28690.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28857.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29212, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29860.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30884.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32313.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34114.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36196, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38437.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40713.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42918.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44973.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46825.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48431.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49750.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50751.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51422.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51785.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51903.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51857.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51724.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51552.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51346.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51082.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50728.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50262.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49678, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48984.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48193.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47314.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46357.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45338.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44278.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43201.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40444.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39482.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38537.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37608.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36692.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35787.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34899.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34035.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33203.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32409.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31656.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 30946.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30275.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29631.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 28990, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28324.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27611.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26846.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26045.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25245.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24498.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23858.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23377.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23092, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23014.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23136.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23426.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23846.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24361.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24950.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25605.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26322.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27084.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27855.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28580.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29201.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29676, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 29989.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30161.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30244.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30322.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30500.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30896, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31611, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32702.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34160.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35912.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37844.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39835.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41781.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43603.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45246.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46658.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47790.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48600.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49072.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49234.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49159.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48947.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48687.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48428.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48172.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47882.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47516.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47045.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46466.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45789.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45032.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44205.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43318.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42382.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41417.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40444.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37896.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37075.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36278.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35500.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34739, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 33993.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33270, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32574.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31913.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31291.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30710.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30172.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29674, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29205.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28746.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28273.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27764.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27207.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26608.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 25990.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25388, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24845.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24405.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24105.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 23973.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24020.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24242.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24619.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25125, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25732.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26421.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27177, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27975.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28781.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29547.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30219.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30756.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31135.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31359.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31459.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31498.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31569.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31786.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32260, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33061.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34200.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35621, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37223.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38899.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40555.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 42118.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43533.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44746.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45701.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46348.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46666.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46683.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46478.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46153.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45803.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45476.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45171.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44846, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44454.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43967.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43383.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42720, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41996.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41225.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40417.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39582.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38736.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37896.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35734.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35078, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34448, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33839.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33250.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32683.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32144.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31640.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31177.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30753.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30368.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30020.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29706.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29417.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29141, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28854.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28536.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28169.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27747.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27278.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26785.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26301.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25862.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25510.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25281.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25207.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25309.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25589.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26028.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26596.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27260.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27990.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28756.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29525.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30260.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30919.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31468.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31881.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32150.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32288.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32340, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32381, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32513.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32842.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33439.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34321.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35447.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36737, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 38101.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39462.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40759.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41941.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42956.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43745.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44257.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44468.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44402.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44130.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43749.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43343.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42958.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42593, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42209.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41768.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41245.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40643.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39983.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39288.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38573.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37850.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37129.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36420.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35734.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34118.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33635.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33181.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32747.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32334.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31949.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31601.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31299.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31045.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30835.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30661.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30516.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30394.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30291.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30194.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30084.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 29938.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29731.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29447.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29085.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28656.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28189.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27718.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27284.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 26931.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26706.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26648.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26780, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27093.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27558.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28134.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28780.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29460.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30145.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30805.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31414.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31943.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32370, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32679.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32874.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 32983.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33066.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33207.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33492.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33980.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34687, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35580.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36603.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37688.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38779.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39828.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40791, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41618.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42258.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42661.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42805.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42706.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42421, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42024.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41585.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41141.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40694.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40221.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39696.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39109.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38467.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37795.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37116.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36450, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35809.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35203.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34639.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34118.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33142.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32825.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32539.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32273.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32028.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31816.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31654.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31550.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31506.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31512.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31554.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31617.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31695, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31778.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31858, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 31913.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 31916, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31835.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31648.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31347.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 30940.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30454.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 29923.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29390.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 28903.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28518.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28287.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28243.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28391.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28705.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29144.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29664.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30228, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30809, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31385.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31936.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32440.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32876.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33226.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33490.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33688.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33866, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34086.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34409, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34872, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35480.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36210.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 37026.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37886, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38753.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39594.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40371.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 41040.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41554.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41875, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41981.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41882.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41614, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41223.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40757.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40242.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39687.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39089.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38444.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37757.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37046.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36336.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35652.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 35015.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34440.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33937.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33507.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33142.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32824.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32647.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32507.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32389.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32296.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32244.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32253.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32336.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32492.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32707.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 32960.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33231.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33507.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33777.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34027.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34233.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34363.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34381, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34257.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 33982.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33565.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33033.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32424, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31784.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31169.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30636.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30244.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30031.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30008.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30156.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30438.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30815.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31255.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31736.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32241, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32750.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33241.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33692.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34087.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34424.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34722.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35017, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35349.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35754.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36244, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36812, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37440.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38111.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38808, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39512.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40201, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40841.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41395.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41821.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 42089.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42182, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42099.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41855.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41473, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40972.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40371.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39686.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38934.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38136.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37315.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36501.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35720.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 35000.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34362.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33822.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33390.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33063.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32824.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33126.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33048.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33020.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33024.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33064.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33156.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33322.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33576.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33916, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34323.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34774.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35242.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35708, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36155.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36565.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 36910, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37149.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37244.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37164.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 36897, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36452.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 35862.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35169, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34426.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33695.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33040.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32516.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32165.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 31995.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 31994, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32129.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32372.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32700.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33096.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33547.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34033.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34527.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 35002.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35441.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35846.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36234.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36635.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37075.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37565.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38098.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38659.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39233.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39817.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40411.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 41015.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41612.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42176.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42668, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 43052.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43302.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43401.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43341.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43120.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42736.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42190.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41495.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40671.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39753.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38783.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37805, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36857.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35974.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35183.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34507.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33962.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33556.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33285.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33126.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33990.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33964.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34009.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34109.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34261.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34482.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34791.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35199.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35702.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36280.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36905.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37547.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38183.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38789.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39342.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39806.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40140.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40300.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40255.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 39991.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39520.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 38874.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38105.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37273.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36447.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35695.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35074.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34619.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34339.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34219.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34236.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34368.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34601.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34928.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35338.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35808.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36308.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36807, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37283.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37740.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38194.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38670.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39184.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39735, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40303.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40870.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41424.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41970.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42521.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 43084, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43649.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44192.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44675.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 45064, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45330.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45456.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45424.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45220.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44826.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44233, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43445.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42491.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41416.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40279.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39138, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38044.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37039.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36151.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35404, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34814, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34388.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34121.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33990.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35367.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35349.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35432.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35599.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35845.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36181.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36619, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37163.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37807.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38528.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39295.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40078.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40850.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41583.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42248.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42807.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43216.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43430.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43417.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43161.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42674.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 41991.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41167.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40269.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39372.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38549.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37855.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37323.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 36959.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36749.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36673.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36716, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36871.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37137.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37505.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37954.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38450.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38958.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39455.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39940.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40429.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40942.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41490.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 42067.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42654.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43231.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43791.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44343, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44901.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45477.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 46063.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46632.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47151, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47580.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47891.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 48058.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 48059.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47869.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47463.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46827.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45966, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44907.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43705.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42428.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41146.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39918.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38791.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37799.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36964.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36302.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35821.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35515.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35367.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37222.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37181.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37273.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37482.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37803.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38236.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38785.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39445.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40203.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41033.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 41905.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42787.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43651.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44467.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45204.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45822.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46278.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46529, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46540.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46298, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45811.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45114.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44263.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43329.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42390.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41517.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40768.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40173.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39737.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39451, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39295.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39261.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39346.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39551.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39869.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40280.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40750.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41244.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41738.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42226.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42721, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43237.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43785.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44362.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44953.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45544.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46132.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46725.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47334.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47967.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48612.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49245, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49826.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50319.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50688.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50904.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50937.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50760.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50346.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49682.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48772.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47648.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46366.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44999.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43620, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42294.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41073.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39992.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39075.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38336.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37784.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37416.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37222.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39523.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39446.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39529.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39761.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40133.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40639.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41272.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42017.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42854.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43754.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44686.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45619.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46524.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47373.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48132.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48767, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49234.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49495.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49518.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49288.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48814.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48127.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47280.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46342.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45388.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44489.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43697.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43046.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42543.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42182.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41951.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41843.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41858.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41995.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42249.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42601.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 43019.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43473.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43937.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44405.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44881.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45379.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45909.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46473.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 47065.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47678.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48312.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48970.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49659.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50376.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 51106.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51819, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52476.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 53037.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53465.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53725.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53787.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53622.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53207.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52532.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51607, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50463.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49158.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47762.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46348.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44982.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43715.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42584.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41612.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40814.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40200.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39771.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39523.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42219.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42111.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42178.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42413.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42808.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43352.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44028.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44814.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45683.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46605.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47547.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48479.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49373.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50201.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 50934.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51539.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 51980.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52222.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52238.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52016.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51561.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 50902.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50086.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49174.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48234.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47331, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46514.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45816.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45251.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44818.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44512.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44329.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44269.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44330.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44505.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44778.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45123.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45512.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45925.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46353.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46797.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47268.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47777.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48330, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48929, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49573.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50263.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50999.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51777.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52586.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53403.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54195.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54922.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55542.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 56017.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56310.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56393.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56240, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55833.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55170.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54265, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53150.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51881.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50522.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49142.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47801.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46549.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45421.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44441, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43622.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42976, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42507.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42219.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45209.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45082.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45131.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45353.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45739.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46275.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 46941.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47711.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48555, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49440.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50337, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51214.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52046.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52807.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53470.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54007.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54388.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54586.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54579.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54357.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 53927.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53310, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52545.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51686.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50788.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49906.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49087.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48362.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47748.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47253.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46878.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46622, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46484.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46462.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46549.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46731.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46988.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47299.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47647.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 48024.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48432.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48877.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49371.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49923.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50539.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51220.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51967.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52774.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53630.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54516.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55403, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56253.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 57028.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57685.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58186.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58498.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58595.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58456.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58073.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57447.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56598, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55559.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54382, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53122.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51840.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50590.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49415.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48349.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47412.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46620.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45984, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45511.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45209.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48319.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48187.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48217.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48406.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48749.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49230, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49829.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50521.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51278.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52068.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 52863.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53636.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54361.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55014.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55574.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56015.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56316.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56455.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56416.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56193.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55791.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55228.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54534.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53750.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 52921.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52091.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51299.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50575.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49940.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49404.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48975.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48655.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48445.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48342.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48341.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48430.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48597.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48826.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49107.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49434.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49808.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50235, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50723.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51282.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51918.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52632.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53422.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54276.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55179.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 56106.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 57024.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57897.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58684.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59348.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59852.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60169.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60276.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60160.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59818.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59259, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58502.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57583.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56545.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55436.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54306.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53201.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52157.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51202.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50358, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49637.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49051.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48609.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48319.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51310.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51181.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51187, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51327.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51595.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 51980.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52465.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53028.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53644.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54288.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 54935.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55561.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56143.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56662.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57096.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57428.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57640.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57716.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57646.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57426.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57061.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56563.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 55956.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55268.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54533.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53785.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53055.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52369.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51747.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51204.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50749.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50388.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50123, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49953.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49877.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49886.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49974.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50132.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50354.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50637.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50983.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51395.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51881.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52446.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 53092.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53820.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54621.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55483.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56386.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57303.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58203.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 59050.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59810.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60447.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60933, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61243, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61361.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61280, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 61001, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60535.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59906, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59141.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58278.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57356.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56415.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55491.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54614.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53807.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53087.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52468.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51961, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51572.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51310.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53925.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53797, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53772.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53850, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54025.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54290.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54631.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55033.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55478, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 55945.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56415.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 56869.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57289.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57658.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 57959.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58179.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58303.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58322.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58228.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58020.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57700.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57278.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56769.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56194.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55575.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54936.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54301.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53691.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53124.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52613.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52170.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51802.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51514.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51307.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51183.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51138.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51170.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51276.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51454.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51703.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 52024.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52420.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52894.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53447.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 54079.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54784.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55554, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56372.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57220.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 58072, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58899.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59674.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60365.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60945.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61391.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61686.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61817.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61782.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61585.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61236.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60756.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60168.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59501.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58786.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 58051.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57325.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56630.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55985.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55405.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54901.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54482.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54155.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53925.2, 145 + 500);
}
